package main

import (
	"encoding/json"
	"fmt"

	"gitee.com/kratos-learning/i18n/houduan"
	"github.com/nicksnyder/go-i18n/v2/i18n"
	"golang.org/x/text/language"
)

func main() {
	houduan_demo()
}

func houduan_demo() {
	name := "龚凌锋"
	count := 1
	//new一个对象并设置默认语言,意味着代码里要装中文
	bundle := i18n.NewBundle(language.Chinese)
	//设置反序列化方式
	bundle.RegisterUnmarshalFunc("json", json.Unmarshal)
	//加载语言包，把你们公司需要的语言加载进来
	bundle.MustLoadMessageFile("./houduan/active.zh.json") //中文
	bundle.MustLoadMessageFile("./houduan/active.en.json") //英文
	// bundle.MustLoadMessageFile("./houduan/active.es.toml") //西班牙语
	//接口请求时header头传特定语言 Accept-Language: zh-CN
	accept := "zh-CN"
	// accept := "es"
	// accept := "en"
	//这边可以填写多个首选语言？？
	localizer := i18n.NewLocalizer(bundle, accept)
	//返回特定化消息
	helloMsg, err := localizer.Localize(&i18n.LocalizeConfig{
		//如果在任何消息文件中都找不到该消息，则使用DefaultMessage
		DefaultMessage: houduan.Messages,
		//golang 模板语法编写消息
		TemplateData: map[string]interface{}{
			"Name": name,
			// "Count":       count, //1
			"Count": count,
		},
		PluralCount: count,
	})
	fmt.Println(helloMsg, "---", err)
}
